//
//  AccountSysVM.h
//  AccountSys
//
//  Created by guoshiqing on 2018/5/31.
//

#import "BaseViewModel.h"

@interface AccountSysVM : BaseViewModel

// 【注册】请求短信验证码接口
- (void)registerSmsCodeRequestWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSource:(NSString *)source;

// 【修改密码】请求短信验证码接口
- (void)retrievePwdSmsCodeRequestWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile;

// 【修改手机号】请求短信验证码接口
- (void)modifyMobileSmsCodeRequestWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile;

// 第三方注册检查手机号是否绑定第三方账号接口
- (void)checkPhoneBindForRegisterWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSource:(NSString *)source;

// 【注册】输入密码并验证的过程
- (void)checkPwdForRegisterWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSmsCode:(NSString *)smsCode andPwd:(NSString *)password;

// 【注册】微信注册-输入密码并验证的过程
- (void)checkPwdForRegisterFromWXWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSmsCode:(NSString *)smsCode andPwd:(NSString *)password andOpenId:(NSString *)openId andAccessToken:(NSString *)accessToken;

// 【注册】FaceBook注册-输入密码并验证的过程
- (void)checkPwdForRegisterFromFBWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSmsCode:(NSString *)smsCode andPwd:(NSString *)password andOpenId:(NSString *)openId andAccessToken:(NSString *)accessToken;

// 【找回密码】输入密码并验证的过程
- (void)checkPwdForRetrievePwdWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSmsCode:(NSString *)smsCode andPwd:(NSString *)password;

// 【登录后修改密码】验证新旧密码
- (void)checkPwdForResetPwdWithOldPwd:(NSString *)oldPwd andNewPwd:(NSString *)nowPwd;

// 【注册】验证短信验证码是否正确
- (void)checkSmsCodeForRegisterWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSmsCode:(NSString *)smsCode andSource:(NSString *)source;

// 【找回密码】验证短信验证码是否正确
- (void)checkSmsCodeForRetrievePwdWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSmsCode:(NSString *)smsCode;

// 【修改手机号】验证短信验证码是否正确
- (void)checkSmsCodeForModifyMobileWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andSmsCode:(NSString *)smsCode andPwd:(NSString *)pwd;

//【短信快捷登录】获取用户信息
- (void)requestUserInfoForQuickLoginWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile;

// 【个人中心-修改手机号】验证输入密码是否正确
- (void)checkPwdForModifyMobileWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andPwd:(NSString *)pwd;

// 获取沙盒数据(本地接口，非网络请求)
- (void)getUserCacheInfoWithMobile:(NSString *)fullMobile withReturnBlock:(void (^)(NSString *userName, NSString *avatarUrl))block;

// 【登录】请求登录
- (void)loginRequestWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile andPwd:(NSString *)password;

// 微信登录请求
- (void)WXloginRequestWithsCode:(NSString *)sCode;

// FaceBook登录请求
- (void)FBloginRequestWithUserId:(NSString *)userId andToken:(NSString *)token;

// 【登录】免密登录/自动登录
- (void)autoLoginRequest;

// 【登出】请求登出
- (void)logoutRequestWithToken:(NSString *)token;

// 【快捷登录】获取用户信息
- (void)getUserInfoRequestWithAreaCode:(NSString *)areaCode andMobile:(NSString *)mobile;

// 【个人信息】修改用户信息
- (void)modifyUserInfoWithKey:(nonnull NSString *)key andValue:(id)value;

// 【上传device token】
- (void)sendDeviceToken:(NSString *)token;

@end
